This invention relates to a programmable circuit constituted by a semiconductor integrated circuit, and more particularly, to a programmable circuit suitable for use in programming or customizing elements in CMOS integrated devices and circuits.
The programming of redundant or customizing elements in semiconductor devices and circuits has been found to be very useful in many types of semiconductor products, including, but not limited to, PROM, EPROM, EEPROM, DRAM, and SRAM (static RAM). Programmable elements can be used to store data or microcode, customize the address of a chip in a system, allow partial use of a large chip which contains imperfections, replace faulty elements in a circuit with functional spare elements, or perform numerous other permanent or temporary (e.g., when the programmable element is an EPROM or EEPROM device) changes in a circuit at some time after completion of fabrication, and, in some cases, after assembly, shipment or installation.
The main programmable elements in current use, as ascertained from the technical literature, are (I) fusible links, typically of metal, metal alloys, heavily doped semiconductors, e.g., n++ polysilicon or metal-semiconductor alloys, e.g., molybdenum disilicide; (2) elements which act in a manner complementary to fuses, i.e., which can be programmed from a nonconducting state to a conducting state; (These will be referred to as "antifuses." An example of such an element is a link of polysilicon consisting of a p- region between two n++ regions. Under high current breakdown conditions, this element can reportedly be changed from a very high resistance (10.sup.9 ohms) to a much lower (10.sup.3 -10.sup.4 ohms) resistance); and (3) EPROM or EEPROM devices where high field charge injection can significantly alter an FET threshold voltage, hence conductance under bias conditions. Of these three basic types of programmable elements, type (1) is almost universally available, i.e., in all semiconductor processes, type (2) typically requires processing beyond what is available in most semiconductor processes, and type (3) is only available in specialized EPROM or EEPROM processes, or else necessitates significant process and circuit modifications in order to be included in more general processes and circuits. These facts explain the typical preference (greatest number of applications cited) for fusible links as programmable elements. Similarly, for use in general processes, antifuses, although less common than fusible links, tend to be more often used than EPROM or EEPROM devices.
In addition to a choice of programmable elements, there are also alternatives for programming methods, except for the EPROM and EEPROM elements which are programmed by electrical methods typical of those used in EPROM products. The two overwhelmingly preferred methods for programming fuses and antifuses are (1) high current electrical programming by means of special circuits incorporated on the chip, and (2) direct heating and/or explosion by application of a carefully aligned laser beam of very small spot size. Essentially equivalent to the second method, but apparently not yet in actual production, is programming by means of electron, ion or other energetic non-optical beams. Both the electrical and laser methods have advantages and disadvantages, the most important of which are described below.
Advantages of electrical programming are: (1) no special equipment or additional investment are required; (2) programming is very easy and rapid; (3) testing, programming and retesting can be done easily in a single automated step, i.e., no additional difficulty relative to normal testing; (4) programming can be done with or without openings in the passivation, aiding reliability and avoiding post-cleaning and additional passivation; (5) damage to nearby circuit elements is easily avoided; and (6) the possibility exists for programming after assembly, or at any time during the life of the product. Advantages of laser programming include: (I) no on-chip programming circuitry is required, thus saving area and some design effort; (2) no large devices, extra pads, or higher than normal voltages are needed to supply the energy for programming; and (3) no need exists to connect one terminal of every programmable element to a power supply or other common node, thus providing greater flexibility for the design of circuitry to sense whether or not programming has taken place.
Disadvantages of electrical programming are: (1) chip area is required for programming circuitry, particularly for the large devices needed to switch the programming current; (2) extra probe pads and voltages in excess of normal operating levels are often required for programming and to keep the switching devices from being excessively large; and (3) in order to avoid large numbers of extra pads or additional large switching devices, it is necessary to connect one terminal of all elements to a power supply or other common node. Disadvantages of laser programming are: (1) expensive and complex equipment is required; (2) programming is a very difficult step, requiring accurate wafer alignment which, unlike normal testing alignment, is years away from being completely automatic; (3) testing, programming and retesting can be done in one step, but wafer probing is made more difficult than in normal testing due to limited optics; (4) programmable elements must usually be left unpassivated for the laser step, necessitating post-cleaning and additional passivation processing; (5) damage to nearby elements can easily occur, and must thus be prevented by careful process control; and (6) programming can only be done practically at the wafer level, thus precluding any possibility of later repair or customization.